1 /* 2 * The MIT License (MIT) 3 * 4 * Copyright (c) 2014 Devisualization (Richard Andrew Cattermole) 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a copy 7 * of this software and associated documentation files (the "Software"), to deal 8 * in the Software without restriction, including without limitation the rights 9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 * copies of the Software, and to permit persons to whom the Software is 11 * furnished to do so, subject to the following conditions: 12 * 13 * The above copyright notice and this permission notice shall be included in all 14 * copies or substantial portions of the Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 * SOFTWARE. 23 */ 24 module devisualization.util.opengl.function_wrappers.v10; 25 import gl = derelict.opengl3.gl; 26 import gldepcnst = derelict.opengl3.deprecatedConstants; 27 28 // no need to polute name space any further when its args don't change 29 public import derelict.opengl3.gl : glFlush, glFinish, glScissor, glLineWidth, glPointSize, glClearColor, glClearStencil, glStencilMask, glDepthMask, glViewport; 30 31 enum InternalFormat { 32 DepthComponent = gl.GL_DEPTH_COMPONENT, 33 DepthStencil = gl.GL_DEPTH_STENCIL, 34 Red = gl.GL_RED, 35 RG = gl.GL_RG, 36 RGB = gl.GL_RGB, 37 RGBA = gl.GL_RGBA, 38 39 RGB8 = gl.GL_RGB8 40 } 41 42 enum EnableFunc { 43 Blend = gl.GL_BLEND, 44 ClipDistance = gl.GL_CLIP_DISTANCE0, 45 ColorLogicOp = gl.GL_COLOR_LOGIC_OP, 46 CullFace = gl.GL_CULL_FACE, 47 DebugOutput = gl.GL_DEBUG_OUTPUT, 48 DebugOutputSynchroonous = gl.GL_DEBUG_OUTPUT_SYNCHRONOUS, 49 DepthClamp = gl.GL_DEPTH_CLAMP, 50 DepthTest = gl.GL_DEPTH_TEST, 51 Dither = gl.GL_DITHER, 52 FrameBufferSRGB = gl.GL_FRAMEBUFFER_SRGB, 53 LineSmooth = gl.GL_LINE_SMOOTH, 54 MultiSample = gl.GL_MULTISAMPLE, 55 PolygonOffsetFill = gl.GL_POLYGON_OFFSET_FILL, 56 PolygonOffsetLine = gl.GL_POLYGON_OFFSET_LINE, 57 PolygonOffsetPoint = gl.GL_POLYGON_OFFSET_POINT, 58 PolygonSmooth = gl.GL_POLYGON_SMOOTH, 59 PrimitiveRestart = gl.GL_PRIMITIVE_RESTART, 60 PrimitiveRestartFixedIndex = gl.GL_PRIMITIVE_RESTART_FIXED_INDEX, 61 RasterizerDiscard = gl.GL_RASTERIZER_DISCARD, 62 SampleAlphaToCoverage = gl.GL_SAMPLE_ALPHA_TO_COVERAGE, 63 SampleAlphaToOne = gl.GL_SAMPLE_ALPHA_TO_ONE, 64 SampleCoverage = gl.GL_SAMPLE_COVERAGE, 65 SampleShading = gl.GL_SAMPLE_SHADING, 66 SampleMask = gl.GL_SAMPLE_MASK, 67 ScissorTest = gl.GL_SCISSOR_TEST, 68 StencilTest = gl.GL_STENCIL_TEST, 69 TextureCubeMapSeamless = gl.GL_TEXTURE_CUBE_MAP_SEAMLESS, 70 ProgramPointSize = gl.GL_PROGRAM_POINT_SIZE 71 } 72 73 enum BlendFactors { 74 Zero = gl.GL_ZERO, 75 One = gl.GL_ONE, 76 SrcColor = gl.GL_SRC_COLOR, 77 OneMinusSrcColor = gl.GL_ONE_MINUS_SRC_COLOR, 78 DstColor = gl.GL_DST_COLOR, 79 OneMinusDstColor = gl.GL_ONE_MINUS_DST_COLOR, 80 SrcAlpha = gl.GL_SRC_ALPHA, 81 OneMinusSrcAlpha = gl.GL_ONE_MINUS_SRC_ALPHA, 82 DstAlpha = gl.GL_DST_ALPHA, 83 OneMinusDstAlpha = gl.GL_ONE_MINUS_DST_ALPHA, 84 ConstantColor = gldepcnst.GL_CONSTANT_COLOR, 85 OneMinusConstantColor = gldepcnst.GL_ONE_MINUS_CONSTANT_COLOR, 86 ConstantAlpha = gldepcnst.GL_CONSTANT_ALPHA, 87 OneMinusConstantAlpha = gldepcnst.GL_ONE_MINUS_CONSTANT_ALPHA, 88 SrcAlphaSaturate = gl.GL_SRC_ALPHA_SATURATE, 89 Src2Color = gl.GL_SRC1_COLOR 90 } 91 92 enum BindTextureTarget { 93 Texture1D = gl.GL_TEXTURE_1D, 94 Texture2D = gl.GL_TEXTURE_2D, 95 Texture3D = gl.GL_TEXTURE_3D, 96 Texture1DArray = gl.GL_TEXTURE_1D_ARRAY, 97 Texture2DArray = gl.GL_TEXTURE_2D_ARRAY, 98 TextureRectangle = gl.GL_TEXTURE_RECTANGLE, 99 TextureCubeMap = gl.GL_TEXTURE_CUBE_MAP, 100 TextureCubeMapArray = gl.GL_TEXTURE_CUBE_MAP_ARRAY, 101 TextureBuffer = gl.GL_TEXTURE_BUFFER, 102 Texture2DMultiSample = gl.GL_TEXTURE_2D_MULTISAMPLE, 103 Texture2DMultiSampleArray = gl.GL_TEXTURE_2D_MULTISAMPLE_ARRAY 104 } 105 106 enum PixelFormat { 107 Red = gl.GL_RED, 108 RG = gl.GL_RG, 109 RGB = gl.GL_RGB, 110 BGR = gl.GL_BGR, 111 RGBA = gl.GL_RGBA, 112 BGRA = gl.GL_BGRA, 113 RedInteger = gl.GL_RED_INTEGER, 114 RGInteger = gl.GL_RG_INTEGER, 115 RGBInteger = gl.GL_RGB_INTEGER, 116 BGRInteger = gl.GL_BGR_INTEGER, 117 RGBAInteger = gl.GL_RGBA_INTEGER, 118 BGRAInteger = gl.GL_BGRA_INTEGER, 119 StencilIndex = gl.GL_STENCIL_INDEX, 120 DepthComponent = gl.GL_DEPTH_COMPONENT, 121 DepthStencil = gl.GL_DEPTH_STENCIL 122 } 123 124 enum PixelDataType { 125 UnsignedByte = gl.GL_UNSIGNED_BYTE, 126 Byte = gl.GL_BYTE, 127 UnsignedShort = gl.GL_UNSIGNED_SHORT, 128 Short = gl.GL_SHORT, 129 UnsignedInt = gl.GL_UNSIGNED_INT, 130 Int = gl.GL_INT, 131 Float = gl.GL_FLOAT, 132 UnsignedByte332 = gl.GL_UNSIGNED_BYTE_3_3_2, 133 UnsignedByte233Rev = gl.GL_UNSIGNED_BYTE_2_3_3_REV, 134 UnsignedShort565 = gl.GL_UNSIGNED_SHORT_5_6_5, 135 UnsignedShort565Rev = gl.GL_UNSIGNED_SHORT_5_6_5, 136 UnsignedShort4444 = gl.GL_UNSIGNED_SHORT_4_4_4_4, 137 UnsignedShort4444Rev = gl.GL_UNSIGNED_SHORT_4_4_4_4_REV, 138 UnsignedShort5551 = gl.GL_UNSIGNED_SHORT_5_5_5_1, 139 UnsignedShort1555Rev = gl.GL_UNSIGNED_SHORT_1_5_5_5_REV, 140 UnsignedInt8888 = gl.GL_UNSIGNED_INT_8_8_8_8, 141 UnsignedInt8888Rev = gl.GL_UNSIGNED_INT_8_8_8_8_REV, 142 UnsignedInt101010102 = gl.GL_UNSIGNED_INT_10_10_10_2, 143 UnsignedInt2101010REV = gl.GL_UNSIGNED_INT_2_10_10_10_REV 144 } 145 146 enum Face { 147 Front = gl.GL_FRONT, 148 Back = gl.GL_BACK, 149 FrontAndBack = gl.GL_FRONT_AND_BACK 150 } 151 152 enum HintMode { 153 Fastest = gl.GL_FASTEST, 154 Nicest = gl.GL_NICEST, 155 DontCare = gl.GL_DONT_CARE 156 } 157 158 enum ClockOrientation { 159 ClockWise = gl.GL_CW, 160 CounterClockWise = gl.GL_CCW 161 } 162 163 enum PolygonMode { 164 Point = gl.GL_POINT, 165 Line = gl.GL_LINE, 166 FILL = gl.GL_FILL 167 } 168 169 enum TextureParameterTarget { 170 Texture1D = gl.GL_TEXTURE_1D, 171 Texture2D = gl.GL_TEXTURE_2D, 172 Texture3D = gl.GL_TEXTURE_3D, 173 Texture1DArray = gl.GL_TEXTURE_1D_ARRAY, 174 Texture2DArray = gl.GL_TEXTURE_2D_ARRAY, 175 TextureRectangle = gl.GL_TEXTURE_RECTANGLE, 176 TextureCubeMap = gl.GL_TEXTURE_CUBE_MAP 177 } 178 179 enum TextureParameterName { 180 BaseLevel = gl.GL_TEXTURE_BASE_LEVEL, 181 CompareFunc = gl.GL_TEXTURE_COMPARE_FUNC, 182 CompareMode = gl.GL_TEXTURE_COMPARE_MODE, 183 LODBias = gl.GL_TEXTURE_LOD_BIAS, 184 MinFilter = gl.GL_TEXTURE_MIN_FILTER, 185 MagFilter = gl.GL_TEXTURE_MAG_FILTER, 186 MinLOD = gl.GL_TEXTURE_MIN_LOD, 187 MaxLOD = gl.GL_TEXTURE_MAX_LOD, 188 MaxLevel = gl.GL_TEXTURE_MAX_LEVEL, 189 SwizzleR = gl.GL_TEXTURE_SWIZZLE_R, 190 SwizzleG = gl.GL_TEXTURE_SWIZZLE_G, 191 SwizzleB = gl.GL_TEXTURE_SWIZZLE_B, 192 SwizzleA = gl.GL_TEXTURE_SWIZZLE_A, 193 WrapS = gl.GL_TEXTURE_WRAP_S, 194 WrapT = gl.GL_TEXTURE_WRAP_T, 195 WrapR = gl.GL_TEXTURE_WRAP_R, 196 197 BorderColor = gl.GL_TEXTURE_BORDER_COLOR, 198 SwizzleRGBA = gl.GL_TEXTURE_SWIZZLE_RGBA 199 } 200 201 enum TextureImage1D { 202 Texture1D = gl.GL_TEXTURE_1D, 203 ProxyTexture1D = gl.GL_PROXY_TEXTURE_1D 204 } 205 206 enum TextureImage2D { 207 Texture2D = gl.GL_TEXTURE_2D, 208 ProxyTexture2D = gl.GL_PROXY_TEXTURE_2D, 209 Texture1DArray = gl.GL_TEXTURE_1D_ARRAY, 210 ProxyTexture1DArray = gl.GL_PROXY_TEXTURE_1D_ARRAY, 211 TextureRectangle = gl.GL_TEXTURE_RECTANGLE, 212 ProxyTextureRectangle = gl.GL_PROXY_TEXTURE_RECTANGLE, 213 TextureCubeMapPositiveX = gl.GL_TEXTURE_CUBE_MAP_POSITIVE_X, 214 TextureCubeMapNegativeX = gl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 215 TextureCubeMapPositiveY = gl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 216 TextureCubeMapNegativeY = gl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 217 TextureCubeMapPositiveZ = gl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 218 TextureCubeMapNegativeZ = gl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 219 ProxyTextureCubeMap = gl.GL_PROXY_TEXTURE_CUBE_MAP 220 } 221 222 enum DrawBufferType { 223 None = gldepcnst.GL_NONE, 224 FrontLeft = gl.GL_FRONT_LEFT, 225 FrontRight = gl.GL_FRONT_RIGHT, 226 BackLeft = gl.GL_BACK_LEFT, 227 BackRight = gl.GL_BACK_RIGHT, 228 Front = gl.GL_FRONT, 229 Back = gl.GL_BACK, 230 Left = gl.GL_LEFT, 231 Right = gl.GL_RIGHT, 232 FrontAndBack = gl.GL_FRONT_AND_BACK 233 } 234 235 enum LogicOperators { 236 Clear = gl.GL_CLEAR, 237 Set = gl.GL_SET, 238 Copy = gl.GL_COPY, 239 CopyInverted = gl.GL_COPY_INVERTED, 240 Noop = gl.GL_NOOP, 241 Invert = gl.GL_INVERT, 242 And = gl.GL_AND, 243 Nand = gl.GL_NAND, 244 Or = gl.GL_OR, 245 Nor = gl.GL_NOR, 246 Xor = gl.GL_XOR, 247 Equiv = gl.GL_EQUIV, 248 AndReverse = gl.GL_AND_REVERSE, 249 AndInverted = gl.GL_AND_INVERTED, 250 OrReverse = gl.GL_OR_REVERSE, 251 OrInverted = gl.GL_OR_INVERTED 252 } 253 254 enum LogicalComparison { 255 Never = gl.GL_NEVER, 256 Less = gl.GL_LESS, 257 LessOrEqual = gl.GL_LEQUAL, 258 Greater = gl.GL_GREATER, 259 Equal = gl.GL_EQUAL, 260 NotEqual = gl.GL_NOTEQUAL, 261 Always = gl.GL_ALWAYS 262 } 263 264 enum StencilOperators { 265 Keep = gl.GL_KEEP, 266 Zero = gl.GL_ZERO, 267 Replace = gl.GL_REPLACE, 268 Increase = gl.GL_INCR, 269 IncreaseWrap = gl.GL_INCR_WRAP, 270 Decrease = gl.GL_DECR, 271 DecreaseWrap = gl.GL_DECR_WRAP, 272 Invert = gl.GL_INVERT 273 } 274 275 enum PixelStoreMode { 276 PackingSwapBytes = gl.GL_PACK_SWAP_BYTES, 277 PackingLessSignificantBitFirst = gl.GL_PACK_LSB_FIRST, 278 PackingRowLength = gl.GL_PACK_ROW_LENGTH, 279 PackingImageHeight = gl.GL_PACK_IMAGE_HEIGHT, 280 PackingSkipPixels = gl.GL_PACK_SKIP_PIXELS, 281 PackingSkipRows = gl.GL_PACK_SKIP_ROWS, 282 PackingSkipImages = gl.GL_PACK_SKIP_IMAGES, 283 PackingAlignment = gl.GL_PACK_ALIGNMENT, 284 285 UnpackingSwapBytes = gl.GL_UNPACK_SWAP_BYTES, 286 UnpackingLessSignificantBitFirst = gl.GL_UNPACK_LSB_FIRST, 287 UnpackingRowLength = gl.GL_UNPACK_ROW_LENGTH, 288 UnpackingImageHeight = gl.GL_UNPACK_IMAGE_HEIGHT, 289 UnpackingSkipPixels = gl.GL_UNPACK_SKIP_PIXELS, 290 UnpackingSkipRows = gl.GL_UNPACK_SKIP_ROWS, 291 UnpackingSkipImages = gl.GL_UNPACK_SKIP_IMAGES, 292 UnpackingAlignment = gl.GL_UNPACK_ALIGNMENT 293 } 294 295 enum ColorBufferSource { 296 FrontLeft = gl.GL_FRONT_LEFT, 297 FrontRight = gl.GL_FRONT_RIGHT, 298 BackLeft = gl.GL_BACK_LEFT, 299 BackRight = gl.GL_BACK_RIGHT, 300 Front = gl.GL_FRONT, 301 Back = gl.GL_BACK, 302 Left = gl.GL_LEFT, 303 Right = gl.GL_RIGHT, 304 ColorAttachment0 = gl.GL_COLOR_ATTACHMENT0, 305 ColorAttachment1 = gl.GL_COLOR_ATTACHMENT1, 306 ColorAttachment2 = gl.GL_COLOR_ATTACHMENT2, 307 ColorAttachment3 = gl.GL_COLOR_ATTACHMENT3, 308 ColorAttachment4 = gl.GL_COLOR_ATTACHMENT4, 309 ColorAttachment5 = gl.GL_COLOR_ATTACHMENT5, 310 ColorAttachment6 = gl.GL_COLOR_ATTACHMENT6, 311 ColorAttachment7 = gl.GL_COLOR_ATTACHMENT7, 312 ColorAttachment8 = gl.GL_COLOR_ATTACHMENT8, 313 ColorAttachment9 = gl.GL_COLOR_ATTACHMENT9, 314 ColorAttachment10 = gl.GL_COLOR_ATTACHMENT10, 315 ColorAttachment11 = gl.GL_COLOR_ATTACHMENT11, 316 ColorAttachment12 = gl.GL_COLOR_ATTACHMENT12, 317 ColorAttachment13 = gl.GL_COLOR_ATTACHMENT13, 318 ColorAttachment14 = gl.GL_COLOR_ATTACHMENT14, 319 ColorAttachment15 = gl.GL_COLOR_ATTACHMENT15 320 } 321 322 enum ReadBlockPixelsFormat { 323 StencilIndex = gl.GL_STENCIL_INDEX, 324 DepthComponent = gl.GL_DEPTH_COMPONENT, 325 DepthStencil = gl.GL_DEPTH_STENCIL, 326 Red = gl.GL_RED, 327 Green = gl.GL_GREEN, 328 Blue = gl.GL_BLUE, 329 RGB = gl.GL_RGB, 330 BGR = gl.GL_BGR, 331 RGBA = gl.GL_RGBA, 332 BGRA = gl.GL_BGRA 333 } 334 335 enum ReadBlockPixelsType { 336 UnsignedByte = gl.GL_UNSIGNED_BYTE, 337 Byte = gl.GL_BYTE, 338 UnsignedShort = gl.GL_UNSIGNED_SHORT, 339 Short = gl.GL_SHORT, 340 UnsignedInt = gl.GL_UNSIGNED_INT, 341 Int = gl.GL_INT, 342 HalfFloat = gl.GL_HALF_FLOAT, 343 Float = gl.GL_FLOAT, 344 UnsignedByte332 = gl.GL_UNSIGNED_BYTE_3_3_2, 345 UnsignedByte233Rev = gl.GL_UNSIGNED_BYTE_2_3_3_REV, 346 UnsignedShort565 = gl.GL_UNSIGNED_SHORT_5_6_5, 347 UnsignedShort565Rev = gl.GL_UNSIGNED_SHORT_5_6_5_REV, 348 UnsignedShort4444 = gl.GL_UNSIGNED_SHORT_4_4_4_4, 349 UnsignedShort4444Rev = gl.GL_UNSIGNED_SHORT_4_4_4_4_REV, 350 UnsignedShort5551 = gl.GL_UNSIGNED_SHORT_5_5_5_1, 351 UnsignedShort1555Rev = gl.GL_UNSIGNED_SHORT_1_5_5_5_REV, 352 UnsignedInt8888 = gl.GL_UNSIGNED_INT_8_8_8_8, 353 UnsignedInt8888Rev = gl.GL_UNSIGNED_INT_8_8_8_8_REV, 354 UnsignedInt1010102 = gl.GL_UNSIGNED_INT_10_10_10_2, 355 UnsignedInt2101010Rev = gl.GL_UNSIGNED_INT_2_10_10_10_REV, 356 UnsignedInt248 = gl.GL_UNSIGNED_INT_24_8, 357 UnsignedInt10f11f11fRev = gl.GL_UNSIGNED_INT_10F_11F_11F_REV, 358 UnsignedInt5999Rev = gl.GL_UNSIGNED_INT_5_9_9_9_REV, 359 Float32UnsignedInt248Rev = gl.GL_FLOAT_32_UNSIGNED_INT_24_8_REV 360 } 361 362 enum GetValueNames { 363 ColorLogicOp = gl.GL_COLOR_LOGIC_OP, 364 ColorArray = gl.GL_COLOR_ARRAY, 365 ColorArraySize = gl.GL_COLOR_ARRAY_SIZE, 366 ColorArrayStride = gl.GL_COLOR_ARRAY_STRIDE, 367 ColorArrayType = gl.GL_COLOR_ARRAY_TYPE, 368 EdgeFlagArray = gl.GL_EDGE_FLAG_ARRAY, 369 EdgeFlagArrayStride = gl.GL_EDGE_FLAG_ARRAY_STRIDE, 370 IndexArray = gl.GL_INDEX_ARRAY, 371 IndexArrayStride = gl.GL_INDEX_ARRAY_STRIDE, 372 IndexArrayType = gl.GL_INDEX_ARRAY_TYPE, 373 IndexLogicOp = gl.GL_INDEX_LOGIC_OP, 374 NormalArray = gl.GL_NORMAL_ARRAY, 375 NormalArrayStride = gl.GL_NORMAL_ARRAY_STRIDE, 376 NormalArrayType = gl.GL_NORMAL_ARRAY_TYPE, 377 PolygonOffsetUnits = gl.GL_POLYGON_OFFSET_UNITS, 378 PolygonOffsetFactor = gl.GL_POLYGON_OFFSET_FACTOR, 379 PolygonOffsetFill = gl.GL_POLYGON_OFFSET_FILL, 380 PolygonOffsetLine = gl.GL_POLYGON_OFFSET_LINE, 381 PolygonOfffsetPoint = gl.GL_POLYGON_OFFSET_POINT, 382 TextureCoordArray = gl.GL_TEXTURE_COORD_ARRAY, 383 TextureCoordArraySize = gl.GL_TEXTURE_COORD_ARRAY_SIZE, 384 TextureCoordArrayStride = gl.GL_TEXTURE_COORD_ARRAY_STRIDE, 385 TextureCoordArrayType = gl.GL_TEXTURE_COORD_ARRAY_TYPE, 386 VertexArray = gl.GL_VERTEX_ARRAY, 387 VertexArraySize = gl.GL_VERTEX_ARRAY_SIZE, 388 VertexArrayStride = gl.GL_VERTEX_ARRAY_STRIDE, 389 VertexArrayType = gl.GL_VERTEX_ARRAY_TYPE, 390 391 AliasedPointSizeRange = gl.GL_ALIASED_POINT_SIZE_RANGE, 392 FeedbackBufferSize = gl.GL_FEEDBACK_BUFFER_SIZE, 393 FeedbackBufferType = gl.GL_FEEDBACK_BUFFER_TYPE, 394 LightModelAmbient = gl.GL_LIGHT_MODEL_AMBIENT, 395 LightModelColorControl = gl.GL_LIGHT_MODEL_COLOR_CONTROL, 396 Max3dTextureSize = gl.GL_MAX_3D_TEXTURE_SIZE, 397 MaxElementsIndices = gl.GL_MAX_ELEMENTS_INDICES, 398 MaxElementsVertices = gl.GL_MAX_ELEMENTS_VERTICES, 399 PackImageHeight = gl.GL_PACK_IMAGE_HEIGHT, 400 PackSkipImages = gl.GL_PACK_SKIP_IMAGES, 401 RescaleNormal = gl.GL_RESCALE_NORMAL, 402 SelectionBufferSize = gl.GL_SELECTION_BUFFER_SIZE, 403 SmoothLineWidthGranularity = gl.GL_SMOOTH_LINE_WIDTH_GRANULARITY, 404 SmoothLineWidthRange = gl.GL_SMOOTH_LINE_WIDTH_RANGE, 405 SmoothPointSizeGranularity = gl.GL_SMOOTH_POINT_SIZE_GRANULARITY, 406 SmoothPointSizeRange = gl.GL_SMOOTH_POINT_SIZE_RANGE, 407 //Texture3D = gl.GL_TEXTURE_3D, 408 TextureBinding3D = gl.GL_TEXTURE_BINDING_3D, 409 UnpackImageHeight = gl.GL_UNPACK_IMAGE_HEIGHT, 410 UnpackSkipImages = gl.GL_UNPACK_SKIP_IMAGES, 411 412 CompressedTextureFormats = gl.GL_COMPRESSED_TEXTURE_FORMATS, 413 NumCompressedTextureFormats = gl.GL_NUM_COMPRESSED_TEXTURE_FORMATS, 414 TextureBindingCubeMap = gl.GL_TEXTURE_BINDING_CUBE_MAP, 415 TextureCompresssionHint = gl.GL_TEXTURE_COMPRESSION_HINT, 416 417 BlendDestinationAlpha = gl.GL_BLEND_DST_ALPHA, 418 BlendDestinationRGB = gl.GL_BLEND_DST_RGB, 419 BlendSourceAlpha = gl.GL_BLEND_SRC_ALPHA, 420 BlendSourceRGB = gl.GL_BLEND_SRC_RGB, 421 CurrentFogCoord = gl.GL_CURRENT_FOG_COORD, 422 CurrentSecondaryColor = gl.GL_CURRENT_SECONDARY_COLOR, 423 FogCoordArrayStride = gl.GL_FOG_COORD_ARRAY_STRIDE, 424 FogCoordArrayType = gl.GL_FOG_COORD_ARRAY_TYPE, 425 FogCoordSource = gl.GL_FOG_COORD_SRC, 426 MaxTextureLodBias = gl.GL_MAX_TEXTURE_LOD_BIAS, 427 PointSizeMin = gl.GL_POINT_SIZE_MIN, 428 PointSizeMax = gl.GL_POINT_SIZE_MAX, 429 PointFadeThresholdSize = gl.GL_POINT_FADE_THRESHOLD_SIZE, 430 PointDistanceAttenuation = gl.GL_POINT_DISTANCE_ATTENUATION, 431 SecondaryColorArraySize = gl.GL_SECONDARY_COLOR_ARRAY_SIZE, 432 SecondaryColorArrayStride = gl.GL_SECONDARY_COLOR_ARRAY_STRIDE, 433 SecondaryColorArrayType = gl.GL_SECONDARY_COLOR_ARRAY_TYPE, 434 435 ArrayBufferBinding = gl.GL_ARRAY_BUFFER_BINDING, 436 ColorArrayBufferBinding = gl.GL_COLOR_ARRAY_BUFFER_BINDING, 437 EdgeFlagArrayBufferBinding = gl.GL_EDGE_FLAG_ARRAY_BUFFER_BINDING, 438 ElementArrayBufferBinding = gl.GL_ELEMENT_ARRAY_BUFFER_BINDING, 439 FogCoordArrayBufferBinding = gl.GL_FOG_COORD_ARRAY_BUFFER_BINDING, 440 IndexArrayBufferBinding = gl.GL_INDEX_ARRAY_BUFFER_BINDING, 441 NormalArrayBufferBinding = gl.GL_NORMAL_ARRAY_BUFFER_BINDING, 442 SecondaryColorArrayBufferBinding = gl.GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, 443 TextureCoordArrayBufferBinding = gl.GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, 444 VertexArrayBufferBinding = gl.GL_VERTEX_ARRAY_BUFFER_BINDING, 445 446 BlendEquationAlpha = gl.GL_BLEND_EQUATION_ALPHA, 447 BlendEquationRGB = gl.GL_BLEND_EQUATION_RGB, 448 DrawBuffer0 = gl.GL_DRAW_BUFFER0, 449 DrawBuffer1 = gl.GL_DRAW_BUFFER1, 450 DrawBuffer2 = gl.GL_DRAW_BUFFER2, 451 DrawBuffer3 = gl.GL_DRAW_BUFFER3, 452 DrawBuffer4 = gl.GL_DRAW_BUFFER4, 453 DrawBuffer5 = gl.GL_DRAW_BUFFER5, 454 DrawBuffer6 = gl.GL_DRAW_BUFFER6, 455 DrawBuffer7 = gl.GL_DRAW_BUFFER7, 456 DrawBuffer8 = gl.GL_DRAW_BUFFER8, 457 DrawBuffer9 = gl.GL_DRAW_BUFFER9, 458 DrawBuffer10 = gl.GL_DRAW_BUFFER10, 459 DrawBuffer11 = gl.GL_DRAW_BUFFER11, 460 DrawBuffer12 = gl.GL_DRAW_BUFFER12, 461 DrawBuffer13 = gl.GL_DRAW_BUFFER13, 462 DrawBuffer14 = gl.GL_DRAW_BUFFER14, 463 DrawBuffer15 = gl.GL_DRAW_BUFFER15, 464 FragmentShaderDerivativeHint = gl.GL_FRAGMENT_SHADER_DERIVATIVE_HINT, 465 CombinedTextureImageUnits = gl.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, 466 MaxDrawBuffers = gl.GL_MAX_DRAW_BUFFERS, 467 MaxFragmentUniformComponents = gl.GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, 468 MaxTextureCoords = gl.GL_MAX_TEXTURE_COORDS, 469 MaxTextureImageUnits = gl.GL_MAX_TEXTURE_IMAGE_UNITS, 470 MaxVaryingFloats = gl.GL_MAX_VARYING_FLOATS, 471 MaxVertexAttribs = gl.GL_MAX_VERTEX_ATTRIBS, 472 maxVertexTextureImageUnits = gl.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, 473 MaxVertexUniformComponents = gl.GL_MAX_VERTEX_UNIFORM_COMPONENTS, 474 PointSprite = gl.GL_POINT_SPRITE, 475 StencilBackFail = gl.GL_STENCIL_BACK_FAIL, 476 StencilBackFunc = gl.GL_STENCIL_BACK_FUNC, 477 StencilBackPassDepthFail = gl.GL_STENCIL_BACK_PASS_DEPTH_FAIL, 478 StencilBackPassDepthPass = gl.GL_STENCIL_BACK_PASS_DEPTH_PASS, 479 StencilBackRef = gl.GL_STENCIL_BACK_REF, 480 StencilBackValueMask = gl.GL_STENCIL_BACK_VALUE_MASK, 481 StencilBackWriteMask = gl.GL_STENCIL_BACK_WRITEMASK, 482 VertexProgramPointSize = gl.GL_VERTEX_PROGRAM_POINT_SIZE, 483 VertexProgramTwoSide = gl.GL_VERTEX_PROGRAM_TWO_SIDE, 484 485 CurrentRasterSecondaryColor = gl.GL_CURRENT_RASTER_SECONDARY_COLOR, 486 PixelPackBufferBinding = gl.GL_PIXEL_PACK_BUFFER_BINDING, 487 PixelUnpackBufferBinding = gl.GL_PIXEL_UNPACK_BUFFER_BINDING, 488 489 LineWidthGranularity = gl.GL_LINE_WIDTH_GRANULARITY, 490 LineWidthRange = gl.GL_LINE_WIDTH_RANGE, 491 PointSizeGranularity = gl.GL_POINT_SIZE_GRANULARITY, 492 PointSizeRange = gl.GL_POINT_SIZE_RANGE, 493 BlendEquation = gldepcnst.GL_BLEND_EQUATION, 494 495 ColorMatrix = gl.GL_COLOR_MATRIX, 496 ColorMatrixStackDepth = gl.GL_COLOR_MATRIX_STACK_DEPTH, 497 ColorTable = gl.GL_COLOR_TABLE, 498 Convolution1D = gl.GL_CONVOLUTION_1D, 499 Convolution2D = gl.GL_CONVOLUTION_2D, 500 Histogram = gl.GL_HISTOGRAM, 501 MaxColorMatrixStackDepth = gl.GL_MAX_COLOR_MATRIX_STACK_DEPTH, 502 MinMax = gl.GL_MINMAX, 503 PostColorMatrixColorTable = gl.GL_POST_COLOR_MATRIX_COLOR_TABLE, 504 PostColorMatrixRedBias = gl.GL_POST_COLOR_MATRIX_RED_BIAS, 505 PostColorMatrixGreenBias = gl.GL_POST_COLOR_MATRIX_GREEN_BIAS, 506 PostColorMatrixBlueBias = gl.GL_POST_COLOR_MATRIX_BLUE_BIAS, 507 PostColorMatrixAlphaBias = gl.GL_POST_COLOR_MATRIX_ALPHA_BIAS, 508 PostColorMatrixRedScale = gl.GL_POST_COLOR_MATRIX_RED_SCALE, 509 PostColorMatrixGreenScale = gl.GL_POST_COLOR_MATRIX_GREEN_SCALE, 510 PostColorMatrixBlueScale = gl.GL_POST_COLOR_MATRIX_BLUE_SCALE, 511 PostColorMatrixAlphaScale = gl.GL_POST_COLOR_MATRIX_ALPHA_SCALE, 512 PostConvolutionColorTable = gl.GL_POST_CONVOLUTION_COLOR_TABLE, 513 PostConvolutionRedBias = gl.GL_POST_CONVOLUTION_RED_BIAS, 514 PostConvolutionGreenBias = gl.GL_POST_CONVOLUTION_GREEN_BIAS, 515 PostConvolutionBlueBias = gl.GL_POST_CONVOLUTION_BLUE_BIAS, 516 PostConvolutionAlphaBias = gl.GL_POST_CONVOLUTION_ALPHA_BIAS, 517 PostConvolutionRedScale = gl.GL_POST_CONVOLUTION_RED_SCALE, 518 PostConvolutionGreenScale = gl.GL_POST_CONVOLUTION_GREEN_SCALE, 519 PostConvolutionBlueScale = gl.GL_POST_CONVOLUTION_BLUE_SCALE, 520 PostConvolutionALphaScale = gl.GL_POST_CONVOLUTION_ALPHA_SCALE, 521 Seperable2D = gl.GL_SEPARABLE_2D, 522 523 CurrentRasterTextureCoords = gl.GL_CURRENT_RASTER_TEXTURE_COORDS, 524 Texture1D = gl.GL_TEXTURE_1D, 525 TextureBinding1D = gl.GL_TEXTURE_BINDING_1D, 526 Texture2D = gl.GL_TEXTURE_2D, 527 TextureBinding2D = gl.GL_TEXTURE_BINDING_2D, 528 Texture3D = gl.GL_TEXTURE_3D, 529 TexutreBinding3D = gl.GL_TEXTURE_BINDING_3D, 530 TextureGenS = gl.GL_TEXTURE_GEN_S, 531 TextureGenT = gl.GL_TEXTURE_GEN_T, 532 TextureGenR = gl.GL_TEXTURE_GEN_R, 533 TextureGenQ = gl.GL_TEXTURE_GEN_Q, 534 TextureMatrix = gl.GL_TEXTURE_MATRIX, 535 TextureStackDepth = gl.GL_TEXTURE_STACK_DEPTH 536 } 537 538 enum ErrorTypes { 539 NoError = gl.GL_NO_ERROR, 540 InvalidEnum = gl.GL_INVALID_ENUM, 541 InvalidValue = gl.GL_INVALID_VALUE, 542 InvalidOperation = gl.GL_INVALID_OPERATION, 543 StackOverflow = gl.GL_STACK_OVERFLOW, 544 StackUnderflow = gl.GL_STACK_UNDERFLOW, 545 OutOfMemory = gl.GL_OUT_OF_MEMORY, 546 TableTooLarge = gl.GL_TABLE_TOO_LARGE 547 } 548 549 enum GetStringNames { 550 Vendor = gl.GL_VENDOR, 551 Renderer = gl.GL_RENDERER, 552 Version = gl.GL_VERSION, 553 ShadingLanguageVersion = gl.GL_SHADING_LANGUAGE_VERSION, 554 Extension = gl.GL_EXTENSIONS 555 } 556 557 enum GetTargetTexture { 558 Texture1D = gl.GL_TEXTURE_1D, 559 Texture2D = gl.GL_TEXTURE_2D, 560 Texture3D = gl.GL_TEXTURE_3D, 561 TextureCubeMap = gl.GL_TEXTURE_CUBE_MAP 562 } 563 564 enum GetTargetTextureParameter { 565 TextureMagFilter = gl.GL_TEXTURE_MAG_FILTER, 566 TextureMinFilter = gl.GL_TEXTURE_MIN_FILTER, 567 TextureMinLod = gl.GL_TEXTURE_MIN_LOD, 568 TextureMaxLod = gl.GL_TEXTURE_MAX_LOD, 569 TextureBaseLevel = gl.GL_TEXTURE_BASE_LEVEL, 570 TextureMaxLevel = gl.GL_TEXTURE_MAX_LEVEL, 571 TextureWrapS = gl.GL_TEXTURE_WRAP_S, 572 TextureWrapT = gl.GL_TEXTURE_WRAP_T, 573 TextureWrapR = gl.GL_TEXTURE_WRAP_R, 574 TextureBorderColor = gl.GL_TEXTURE_BORDER_COLOR, 575 TexturePriority = gl.GL_TEXTURE_PRIORITY, 576 TextureResident = gl.GL_TEXTURE_RESIDENT, 577 TextureCompareMode = gl.GL_TEXTURE_COMPARE_MODE, 578 TextureCompareFunc = gl.GL_TEXTURE_COMPARE_FUNC, 579 DepthTextureMode = gl.GL_DEPTH_TEXTURE_MODE, 580 GenerateMipMap = gl.GL_GENERATE_MIPMAP 581 } 582 583 enum GetTextureParameter { 584 Width = gl.GL_TEXTURE_WIDTH, 585 Height = gl.GL_TEXTURE_HEIGHT, 586 Depth = gl.GL_TEXTURE_DEPTH, 587 InternalFormat = gl.GL_TEXTURE_INTERNAL_FORMAT, 588 Border = gl.GL_TEXTURE_BORDER, 589 RedSize = gl.GL_TEXTURE_RED_SIZE, 590 GreenSize = gl.GL_TEXTURE_GREEN_SIZE, 591 BlueSize = gl.GL_TEXTURE_BLUE_SIZE, 592 AlphaSize = gl.GL_TEXTURE_ALPHA_SIZE, 593 LuminanceSize = gl.GL_TEXTURE_LUMINANCE_SIZE, 594 IntensitySize = gl.GL_TEXTURE_INTENSITY_SIZE, 595 DepthSize = gl.GL_TEXTURE_DEPTH_SIZE, 596 Compressed = gl.GL_TEXTURE_COMPRESSED, 597 CompressedImageSize = gl.GL_TEXTURE_COMPRESSED_IMAGE_SIZE 598 } 599 600 enum Capabilities { 601 AlphaTest = gl.GL_ALPHA_TEST, 602 AutoNormal = gl.GL_AUTO_NORMAL, 603 Blend = gl.GL_BLEND, 604 /*ClipPlane0 = gl.GL_CLIP_PLANE0, 605 ClipPlane1 = gl.GL_CLIP_PLANE1, 606 ClipPlane2 = gl.GL_CLIP_PLANE2, 607 ClipPlane3 = gl.GL_CLIP_PLANE3, 608 ClipPlane4 = gl.GL_CLIP_PLANE4, 609 ClipPlane5 = gl.GL_CLIP_PLANE5, 610 ClipPlane6 = gl.GL_CLIP_PLANE6, 611 ClipPlane7 = gl.GL_CLIP_PLANE7, 612 ClipPlane8 = gl.GL_CLIP_PLANE8, 613 ClipPlane9 = gl.GL_CLIP_PLANE9, 614 ClipPlane10 = gl.GL_CLIP_PLANE10, 615 ClipPlane11 = gl.GL_CLIP_PLANE11, 616 ClipPlane12 = gl.GL_CLIP_PLANE12, 617 ClipPlane13 = gl.GL_CLIP_PLANE13, 618 ClipPlane14 = gl.GL_CLIP_PLANE14, 619 ClipPlane15 = gl.GL_CLIP_PLANE15,*/ 620 ColorArray = gl.GL_COLOR_ARRAY, 621 ColorLogicOp = gl.GL_COLOR_LOGIC_OP, 622 ColorMaterial = gl.GL_COLOR_MATERIAL, 623 ColorSum = gl.GL_COLOR_SUM, 624 ColorTable = gl.GL_COLOR_TABLE, 625 Convolution1D = gl.GL_CONVOLUTION_1D, 626 Convolution2D = gl.GL_CONVOLUTION_2D, 627 CullFace = gl.GL_CULL_FACE, 628 DepthTest = gl.GL_DEPTH_TEST, 629 Dither = gl.GL_DITHER, 630 EdgeFlagArray = gl.GL_EDGE_FLAG_ARRAY, 631 Fog = gl.GL_FOG, 632 FogCoordArray = gl.GL_FOG_COORD_ARRAY, 633 Histogram = gl.GL_HISTOGRAM, 634 IdnexArray = gl.GL_INDEX_ARRAY, 635 IndexLogicOp = gl.GL_INDEX_LOGIC_OP, 636 Light0 = gl.GL_LIGHT0, 637 Light1 = gl.GL_LIGHT1, 638 Light2 = gl.GL_LIGHT2, 639 Light3 = gl.GL_LIGHT3, 640 Light4 = gl.GL_LIGHT4, 641 Light5 = gl.GL_LIGHT5, 642 Light6 = gl.GL_LIGHT6, 643 Light7 = gl.GL_LIGHT7, 644 Lighting = gl.GL_LIGHTING, 645 LineSmooth = gl.GL_LINE_SMOOTH, 646 LineStipple = gl.GL_LINE_STIPPLE, 647 Map1Color4 = gl.GL_MAP1_COLOR_4, 648 Map1Index = gl.GL_MAP1_INDEX, 649 Map1Normal = gl.GL_MAP1_NORMAL, 650 Map1TextureCoord1 = gl.GL_MAP1_TEXTURE_COORD_1, 651 Map1TextureCoord2 = gl.GL_MAP1_TEXTURE_COORD_2, 652 Map1TextureCoord3 = gl.GL_MAP1_TEXTURE_COORD_3, 653 Map1TextureCoord4 = gl.GL_MAP1_TEXTURE_COORD_4, 654 Map2Color4 = gl.GL_MAP2_COLOR_4, 655 Map2Index = gl.GL_MAP2_INDEX, 656 Map2Normal = gl.GL_MAP2_NORMAL, 657 Map2TextureCoord1 = gl.GL_MAP2_TEXTURE_COORD_1, 658 Map2TextureCoord2 = gl.GL_MAP2_TEXTURE_COORD_2, 659 Map2TextureCoord3 = gl.GL_MAP2_TEXTURE_COORD_3, 660 Map2TextureCoord4 = gl.GL_MAP2_TEXTURE_COORD_4, 661 Map2Vertex3 = gl.GL_MAP2_VERTEX_3, 662 Map2Vertex4 = gl.GL_MAP2_VERTEX_4, 663 MinMax = gl.GL_MINMAX, 664 MultiSample = gl.GL_MULTISAMPLE, 665 NormalArray = gl.GL_NORMAL_ARRAY, 666 Normalize = gl.GL_NORMALIZE, 667 PointSmooth = gl.GL_POINT_SMOOTH, 668 PointSprite = gl.GL_POINT_SPRITE, 669 PolygonSmooth = gl.GL_POLYGON_SMOOTH, 670 PolygonOffsetFill = gl.GL_POLYGON_OFFSET_FILL, 671 PolygonOffsetLine = gl.GL_POLYGON_OFFSET_LINE, 672 PolygonOffsetPoint = gl.GL_POLYGON_OFFSET_POINT, 673 PolygonStipple = gl.GL_POLYGON_STIPPLE, 674 PostColorMatrixColorTable = gl.GL_POST_COLOR_MATRIX_COLOR_TABLE, 675 PostConvolutionColorTable = gl.GL_POST_CONVOLUTION_COLOR_TABLE, 676 RescaleNormal = gl.GL_RESCALE_NORMAL, 677 SampleAlphaToCoverage = gl.GL_SAMPLE_ALPHA_TO_COVERAGE, 678 SampleCoverage = gl.GL_SAMPLE_COVERAGE, 679 ScissorTest = gl.GL_SCISSOR_TEST, 680 SecondaryColorArray = gl.GL_SECONDARY_COLOR_ARRAY, 681 Seperable2D = gl.GL_SEPARABLE_2D, 682 StencilTest = gl.GL_STENCIL_TEST, 683 Texture1D = gl.GL_TEXTURE_1D, 684 Texture2D = gl.GL_TEXTURE_2D, 685 Texture3D = gl.GL_TEXTURE_3D, 686 TextureCoordArray = gl.GL_TEXTURE_COORD_ARRAY, 687 TextureCubeMap = gl.GL_TEXTURE_CUBE_MAP, 688 TextureGenQ = gl.GL_TEXTURE_GEN_Q, 689 TextureGenR = gl.GL_TEXTURE_GEN_R, 690 TextureGenS = gl.GL_TEXTURE_GEN_S, 691 TextureGenT = gl.GL_TEXTURE_GEN_T, 692 VertexArray = gl.GL_VERTEX_ARRAY, 693 VertexProgramPointSize = gl.GL_VERTEX_PROGRAM_POINT_SIZE, 694 VertexProgramTwoSide = gl.GL_VERTEX_PROGRAM_TWO_SIDE, 695 Error = 0 696 } 697 698 enum TextureWrapping { 699 ClampEdge = gl.GL_CLAMP_TO_EDGE, 700 ClampBorder = gl.GL_CLAMP_TO_BORDER, 701 Repeat = gl.GL_REPEAT, 702 MirroredRepeat = gl.GL_MIRRORED_REPEAT 703 } 704 705 enum TextureFilter { 706 Nearest = gl.GL_NEAREST, 707 Linear = gl.GL_LINEAR, 708 NearestMipmapNearest = gl.GL_NEAREST_MIPMAP_NEAREST, 709 LinearMipmapNearest = gl.GL_LINEAR_MIPMAP_NEAREST, 710 NearestMipmapLinear = gl.GL_NEAREST_MIPMAP_LINEAR, 711 LinearMipmapLinear = gl.GL_LINEAR_MIPMAP_LINEAR 712 } 713 714 void glClear(bool buffer = false, bool depth = false, bool stencil = false) { 715 gl.glClear((buffer ? gl.GL_COLOR_BUFFER_BIT : 0) | (depth ? gl.GL_DEPTH_BUFFER_BIT : 0) | (stencil ? gl.GL_STENCIL_BUFFER_BIT : 0)); 716 } 717 718 void glTexImage2D(BindTextureTarget target, int level, InternalFormat internalFormat, int width, int height, PixelFormat format, PixelDataType type, void[] data) { 719 gl.glTexImage2D(cast(gl.GLenum)target, level, cast(gl.GLenum)internalFormat, width, height, 0, cast(gl.GLenum)format, cast(gl.GLenum)type, data.ptr); 720 } 721 722 void glCullFace(Face face = Face.Back) { 723 gl.glCullFace(cast(gl.GLenum)face); 724 } 725 726 void glFrontFace(ClockOrientation orientation = ClockOrientation.CounterClockWise) { 727 gl.glFrontFace(cast(gl.GLenum)orientation); 728 } 729 730 void glHint(HintMode mode) { 731 gl.glHint(gl.GL_GENERATE_MIPMAP_HINT, cast(gl.GLenum)mode); 732 } 733 734 void glPolygonMode(Face face, PolygonMode mode) { 735 gl.glPolygonMode(cast(gl.GLenum)face, cast(gl.GLenum)mode); 736 } 737 738 void glTexParameter(TextureParameterTarget target, 739 TextureParameterName pname, 740 float param) { 741 gl.glTexParameterf(target, pname, param); 742 } 743 744 void glTexParameter(TextureParameterTarget target, 745 TextureParameterName pname, 746 int param) { 747 gl.glTexParameteri(target, pname, param); 748 } 749 750 void glTexParameter(TextureParameterTarget target, 751 TextureParameterName pname, 752 float[] param) { 753 gl.glTexParameterfv(target, pname, param.ptr); 754 } 755 756 void glTexParameter(TextureParameterTarget target, 757 TextureParameterName pname, 758 int[] param) { 759 gl.glTexParameteriv(target, pname, param.ptr); 760 } 761 762 void glTexParameterI(TextureParameterTarget target, 763 TextureParameterName pname, 764 int[] param) { 765 gl.glTexParameterIiv(target, pname, param.ptr); 766 } 767 768 void glTexParameterI(TextureParameterTarget target, 769 TextureParameterName pname, 770 uint[] param) { 771 gl.glTexParameterIuiv(target, pname, param.ptr); 772 } 773 774 void glTexImage(TextureImage1D target, int level, InternalFormat internalFormat, int width, int border, PixelFormat format, PixelDataType type, void[] data) { 775 gl.glTexImage1D(target, level, internalFormat, width, border, format, type, data.ptr); 776 } 777 778 void glTexImage(TextureImage2D target, int level, InternalFormat internalFormat, int width, int height, int border, PixelFormat format, PixelDataType type, void[] data) { 779 gl.glTexImage2D(target, level, internalFormat, width, height, border, format, type, data.ptr); 780 } 781 782 void glDrawBuffer(DrawBufferType type) { 783 gl.glDrawBuffer(type); 784 } 785 786 void glClearDepth(int value) { 787 gl.glClearDepth(value); 788 } 789 790 void glClearDepth(float value) { 791 gl.glClearDepthf(value); 792 } 793 794 void glColorMask(bool red, bool green, bool blue, bool alpha) { 795 gl.glColorMask(red, green, blue, alpha); 796 } 797 798 void glColorMask(uint buf, bool red, bool green, bool blue, bool alpha) { 799 gl.glColorMaski(buf, red, green, blue, alpha); 800 } 801 802 void glEnable(EnableFunc func) { 803 gl.glEnable(cast(gl.GLenum)func); 804 } 805 806 void glDisable(EnableFunc func) { 807 gl.glDisable(cast(gl.GLenum)func); 808 } 809 810 void glBlendFunc(BlendFactors sfactor, BlendFactors dfactor) { 811 gl.glBlendFunc(cast(gl.GLenum)sfactor, cast(gl.GLenum)dfactor); 812 } 813 814 void glBlendFunci(uint buf, BlendFactors sfactor, BlendFactors dfactor) { 815 gl.glBlendFunci(buf, cast(gl.GLenum)sfactor, cast(gl.GLenum)dfactor); 816 } 817 818 void glLogicOp(LogicOperators op = LogicOperators.Copy) { 819 gl.glLogicOp(op); 820 } 821 822 void glStencilFunc(LogicalComparison func, int ref_, uint mask) { 823 gl.glStencilFunc(func, ref_, mask); 824 } 825 826 void glStencilOp(StencilOperators sfail = StencilOperators.Keep, StencilOperators dpfail = StencilOperators.Keep, StencilOperators dppass = StencilOperators.Keep) { 827 gl.glStencilOp(sfail, dpfail, dppass); 828 } 829 830 void glDepthFunc(LogicalComparison func) { 831 gl.glDepthFunc(func); 832 } 833 834 void glPixelStore(PixelStoreMode pname, float param) { 835 gl.glPixelStoref(pname, param); 836 } 837 838 void glPixelStore(PixelStoreMode pname, int param) { 839 gl.glPixelStorei(pname, param); 840 } 841 842 void glReadBuffer(ColorBufferSource mode) { 843 gl.glReadBuffer(mode); 844 } 845 846 void[] glReadPixels(int x, int y, int width, int height, ReadBlockPixelsFormat format, ReadBlockPixelsType type) { 847 void[] ret; 848 gl.glReadPixels(x, y, width, height, format, type, ret.ptr); 849 return ret; 850 } 851 852 bool glGetBoolean(GetValueNames pname) { 853 bool ret; 854 gl.glGetBooleanv(pname, cast(ubyte*)&ret); 855 return ret; 856 } 857 858 double glGetDouble(GetValueNames pname) { 859 double ret; 860 gl.glGetDoublev(pname, &ret); 861 return ret; 862 } 863 864 float glGetBoolean(GetValueNames pname) { 865 float ret; 866 gl.glGetFloatv(pname, &ret); 867 return ret; 868 } 869 870 int glGetInteger(GetValueNames pname) { 871 int ret; 872 gl.glGetIntegerv(pname, &ret); 873 return ret; 874 } 875 876 ErrorTypes glGetError() { 877 return cast(ErrorTypes)gl.glGetError(); 878 } 879 880 string glGetString(GetStringNames name) { 881 import core.stdc..string : strlen; 882 char* cstr; 883 cstr = cast(char*)gl.glGetString(name); 884 return cast(string)(cstr ? cstr[0 .. strlen(cstr)] : cstr[0 .. 0]); 885 } 886 887 /*TODO: requires to allocate for return variable (img) 888 bindFunc(cast(void**)&glGetTexImage, "glGetTexImage");*/ 889 890 float[] glGetTexParameterFloat(GetTargetTexture target, GetTargetTextureParameter pname) { 891 float[] ret; 892 gl.glGetTexParameterfv(target, pname, ret.ptr); 893 return ret; 894 } 895 896 int[] glGetTexParameterInteger(GetTargetTexture target, GetTargetTextureParameter pname) { 897 int[] ret; 898 gl.glGetTexParameteriv(target, pname, ret.ptr); 899 return ret; 900 } 901 902 float[] glGetTexLevelParameterFloat(GetTargetTexture target, int level, GetTextureParameter pname) { 903 float[] ret; 904 gl.glGetTexLevelParameterfv(target, level, pname, ret.ptr); 905 return ret; 906 } 907 908 int[] glGetTexLevelParameterInteger(GetTargetTexture target, int level, GetTextureParameter pname) { 909 int[] ret; 910 gl.glGetTexLevelParameteriv(target, level, pname, ret.ptr); 911 return ret; 912 } 913 914 bool glIsEnabled(Capabilities cap) { 915 return cast(bool)gl.glIsEnabled(cap); 916 } 917 918 void glDepthRange(float nearVal = 0, float farVal = 1) 919 in { 920 assert(nearVal >= -1 && nearVal <= 1); 921 assert(farVal >= -1 && farVal <= 1); 922 } body { 923 gl.glDepthRange(nearVal, farVal); 924 }